The rapid evolution of hardware and software has provided many benefits in the areas of research, business systems, and learning. In an academic environment, for example, students and teachers are now required to use computers to some extent for assignments, examinations, presentations, etc. The technical arts such as mathematics, physics and chemistry typically pose a significant challenge to students who need to learn one or more of these subjects as a foundation for graduation.
The generation and review of problem solutions is a fundamental tenet to providing educational value to students. In the context of mathematics, for example, the ability to review the solutions to problems in a step-by-step manner not only improves understanding by the student, but can also expose flaws in the student's reasoning process which can be critical as the problems and problem solutions become more complex.
Computer algebra systems (including computer algebra software, graphing calculator software, and handheld graphing calculators) can generally perform mathematical calculations and solve equations, and display the final results. In order to be educationally valuable, computer algebra systems need to help students learn, and in particular, to find the solutions to math problems. Existing computer algebra systems usually provide the solution to a math problem immediately and without insight into how to arrive at the solution. Moreover, computer algebra systems use solution methods that depart from methods that a user would normally employ. These and other limitations reduce the effectiveness, and thus, the educational value of existing computer algebra systems.